<?php
namespace App\Intelihelp\Controller;


class jobController extends \Foxframe\Controller
{
	public function importarEmail($params = array())
	{
		$dtprazo	= new \DateTime();
		$dtprazo->add(\DateInterval::createFromDateString('3 days'));
		$dtprazo	= $dtprazo->format('d/m/Y');

		// Configure com seu login/senha
		$login = 'testefoxsis';
		$senha = 'o1Mai@))*';

		$str_conexao = '{imap.gmail.com:993/imap/ssl}';
		if (!extension_loaded('imap')) {
			die('Modulo PHP/IMAP nao foi carregado');
		}

		// Abrindo conexao
		$mailbox = imap_open($str_conexao, $login, $senha);
		if (!$mailbox) {
			die('Erro ao conectar: '.imap_last_error());
		}

		$check = imap_check($mailbox);
		$cont = 0;

		for ($i = 1; $i <= $check->Nmsgs; $i++)
		{
			$header		= imap_header($mailbox, $i);

			$mensagem	= imap_fetchbody($mailbox, $i, 1);
			$mensagem	= nl2br(quoted_printable_decode($mensagem));

			$emailUsuario	= $header->from[0]->mailbox.'@'.$header->from[0]->host;

			$subject	= imap_mime_header_decode($header->subject);
			$subject	= $subject[0]->text;

			$emailPessoa	= $this->em->getRepository('\Entities\Corp\Email')->findOneBy(array('dsemail' => $emailUsuario));

			if (!$emailPessoa || isset($header->in_reply_to))
				continue;

			$params = array(
				'tarefa' => array(
					'solicitante'	=> $emailPessoa->getPessoa(),
					'dstitulo'		=> utf8_encode($subject),
					'dstarefa'		=> utf8_encode($mensagem),
					'dtprazo'		=> $dtprazo,
					'equipe'		=> 1, //@todo trazer a equipe padrão de uma tabela de configuração
				),
				'redirect'	=> false
			);

			$tarefa = new \App\Intelihelp\Controller\tarefaController();
			$tarefa->saveTarefa($params);

			imap_delete($mailbox, $i);

			$cont++;
		}

		imap_close($mailbox);

		$naoImportados	= $check->Nmsgs - $cont;

		echo "Foi(ram) importado(s) $cont email(s).<br/>";

		if ($naoImportados > 0);
			echo "$naoImportados email(s) não pode(ram) ser importado(s).<br/>";
		exit();
	}
}